Services such as Google Voice allow a user to register multiple telephones with a single account. The account is associated with a single phone number, and thus the service enables a user to choose which registered phone(s) to use to make and receive calls from/to the single phone number. The user can make an outgoing call from any registered phone. To do so, the user operates a web-based application to select the registered phone from which to make the outgoing call. In some instances, the user can initiate an outgoing call by instead calling a phone number associated with the service, and specifying through a voice or keypad interface from which registered phone to make the outgoing call. The service then calls the user on that phone, and connects him/her to the phone number the user wishes to call. The number associated with the user's account is the phone number from which the call originates.
Concerning incoming calls made to the telephone number associated with the account, the service allows the user to specify a “ring order” for the multiple registered phones. The user operates the web-based application to input this ring order. The ring order specifies in what order the service is to ring the user's different registered phones when a call or text message is made to the user's phone number. For example, the ring order could specify to first try a work phone, and if the user does not answer to next try a home phone and finally a mobile phone. The user can also specify to ring all of the user's registered phones simultaneously when a call or text message is made to the user's phone number.
The functionality provided by Google Voice and other services of this nature can be very convenient, but the user must specify the ring order, whereas in practice the user often does not know where s/he will be when calls are received, and hence which specific phone the user will want to use to take the calls. Ringing all of the phones (at once or in an order not pertaining to the user's current location) can be disadvantageous. For example, this can result in ringing the user's home phone for all incoming SMS messages and phone calls when the user is not home but the user's roommate is, or ringing the user's work phone when the user is at lunch, at home sick, or even on vacation. The user could keep updating the ring preferences based on his/her whereabouts, but this would create a large burden of effort for the user. Furthermore, to place an outgoing call the user must specifically input the given phone to use, which is also a burden for the user.
Some telephone routing systems, for example those described by published United States Patent Applications 20080233969 and 20090028318, track a user's physical location under certain circumstances (using, for example, GPS technology) and route incoming telephone calls to a specific telephone that is physically proximate to the user. More specifically, published United States Patent Application 20080233969 describes tracking a user's whereabouts within an area served by a given Private Branch Exchange (“PBX”) (e.g., an office building, a hospital, etc.). Incoming calls received for the user (in this case, calls made to a specific virtual extension) are routed to the telephone under the jurisdiction of the PBX that is physically closest to the user. If the user is outside the served area, incoming calls can be parked or sent to voice mail. Published United States Patent Application 20080233969 describes this technology as being useful for scenarios in which mobile phones cannot be used, such as hospitals.
Published United States Patent Application 20090028318 describes tracking a user's current location and routing incoming calls for the user to one of a plurality of telephones, based on the user's current location and user supplied or default routing criteria. More specifically, the system receives incoming calls for the user on a single proxy phone number. The user's current location is determined by using, e.g., GPS technology. Routing criteria are checked, specifying to which phone to route the call based on the user's current location (e.g., if the user is within 100 feet of his/her home phone, then route the call there, etc.). The criteria can also specify a default action (e.g., if the user is not proximate to any fixed location phone, then route the call to the user's mobile phone). The incoming call is then routed according to the user's location and the criteria.
Additionally, some Femtocell systems can route incoming calls to a user's landline to the user's cell phone, if the user is currently within range of the local Femtocell tower (e.g., in a specific covered office building).
The above-described routing systems are useful, but are limited in their capabilities. First of all, they only concern the routing of incoming calls, and provide no support for processing outgoing calls. Furthermore, these systems do not provide any functionality concerning non-voice communications, such as SMS messages.
It would be desirable to address the various above-described issues.